gobject_class->set_property = gtk_accel_label_set_property;
gobject_class->get_property = gtk_accel_label_get_property;
+ widget_class->focus = gtk_widget_focus_none;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
+
gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_ACCEL_LABEL);
props[PROP_LABEL] =
#include "gtkcellrendererpixbuf.h"
#include "gtkcellrenderertext.h"
#include "gtkcombobox.h"
+#include "gtkwidgetprivate.h"
#include "gtkdialog.h"
#include "gtkintl.h"
#include "gtkmarshalers.h"
widget_class->measure = gtk_app_chooser_button_measure;
widget_class->size_allocate = gtk_app_chooser_button_size_allocate;
+ widget_class->grab_focus = gtk_widget_grab_focus_child;
+ widget_class->focus = gtk_widget_focus_child;
g_object_class_override_property (oclass, PROP_CONTENT_TYPE, "content-type");
#include "gtkscrolledwindow.h"
#include "gtklabel.h"
#include "gtkgestureclick.h"
+#include "gtkwidgetprivate.h"
#include <string.h>
#include <glib/gi18n-lib.h>
widget_class->measure = gtk_app_chooser_widget_measure;
widget_class->size_allocate = gtk_app_chooser_widget_size_allocate;
widget_class->snapshot = gtk_app_chooser_widget_snapshot;
-
+ widget_class->grab_focus = gtk_widget_grab_focus_child;
+ widget_class->focus = gtk_widget_focus_child;
g_object_class_override_property (gobject_class, PROP_CONTENT_TYPE, "content-type");
wclass->snapshot = gtk_builtin_icon_snapshot;
wclass->measure = gtk_builtin_icon_measure;
wclass->css_changed = gtk_builtin_icon_css_changed;
+ wclass->grab_focus = gtk_widget_grab_focus_none;
+ wclass->focus = gtk_widget_focus_none;
}
static void
#include "gtkprivate.h"
#include "gtkstylecontext.h"
#include "gtktypebuiltins.h"
+#include "gtkwidgetprivate.h"
#include "a11y/gtkbuttonaccessible.h"
widget_class->state_flags_changed = gtk_button_state_flags_changed;
widget_class->grab_notify = gtk_button_grab_notify;
widget_class->unmap = gtk_button_unmap;
+ widget_class->grab_focus = gtk_widget_grab_focus_self;
+ widget_class->focus = gtk_widget_focus_self;
container_class->add = gtk_button_add;
container_class->remove = gtk_button_remove;
gobject_class->set_property = gtk_calendar_set_property;
gobject_class->get_property = gtk_calendar_get_property;
+ widget_class->focus = gtk_widget_focus_all;
+ widget_class->grab_focus = gtk_widget_grab_focus_self;
+
/**
* GtkCalendar:year:
*
object_class->get_property = gtk_center_box_get_property;
object_class->dispose = gtk_center_box_dispose;
+ widget_class->grab_focus = gtk_widget_grab_focus_child;
+ widget_class->focus = gtk_widget_focus_child;
+
g_object_class_override_property (object_class, PROP_ORIENTATION, "orientation");
g_object_class_install_property (object_class, PROP_BASELINE_POSITION,
#include "gtkprivate.h"
#include "gtksnapshot.h"
#include "gtkstylecontext.h"
+#include "gtkwidgetprivate.h"
/**
gobject_class->set_property = gtk_color_button_set_property;
gobject_class->finalize = gtk_color_button_finalize;
+ widget_class->grab_focus = gtk_widget_grab_focus_child;
+ widget_class->focus = gtk_widget_focus_child;
+
klass->color_set = NULL;
/**
#include "gtksizegroup.h"
#include "gtkstylecontext.h"
#include "gtkboxlayout.h"
+#include "gtkwidgetprivate.h"
#include "a11y/gtkcompositeaccessible.h"
object_class->set_property = gtk_color_chooser_widget_set_property;
object_class->finalize = gtk_color_chooser_widget_finalize;
+ widget_class->grab_focus = gtk_widget_grab_focus_child;
+ widget_class->focus = gtk_widget_focus_child;
+
g_object_class_override_property (object_class, PROP_RGBA, "rgba");
g_object_class_override_property (object_class, PROP_USE_ALPHA, "use-alpha");
widget_class->snapshot = swatch_snapshot;
widget_class->size_allocate = swatch_size_allocate;
widget_class->state_flags_changed = swatch_state_flags_changed;
+ widget_class->grab_focus = gtk_widget_grab_focus_self;
+ widget_class->focus = gtk_widget_focus_self;
g_object_class_install_property (object_class, PROP_RGBA,
g_param_spec_boxed ("rgba", P_("RGBA Color"), P_("Color as RGBA"),
widget_class->size_allocate = gtk_combo_box_size_allocate;
widget_class->mnemonic_activate = gtk_combo_box_mnemonic_activate;
widget_class->grab_focus = gtk_combo_box_grab_focus;
+ widget_class->focus = gtk_widget_focus_child;
widget_class->measure = gtk_combo_box_measure;
widget_class->unmap = gtk_combo_box_unmap;
widget_class->destroy = gtk_combo_box_destroy;
widget_class->destroy = gtk_container_destroy;
widget_class->compute_expand = gtk_container_compute_expand;
widget_class->get_request_mode = gtk_container_get_request_mode;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
+ widget_class->focus = gtk_widget_focus_child;
class->add = gtk_container_add_unimplemented;
class->remove = gtk_container_remove_unimplemented;
widget_class->size_allocate = gtk_drag_icon_size_allocate;
widget_class->show = gtk_drag_icon_show;
widget_class->hide = gtk_drag_icon_hide;
+ widget_class->focus = gtk_widget_focus_none;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
/**
* GtkDragIcon:child:
widget_class->measure = gtk_drawing_area_measure;
widget_class->snapshot = gtk_drawing_area_snapshot;
+ widget_class->focus = gtk_widget_focus_none;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
/**
* GtkDrawingArea:content-width
widget_class->query_tooltip = gtk_entry_query_tooltip;
widget_class->direction_changed = gtk_entry_direction_changed;
widget_class->grab_focus = gtk_entry_grab_focus;
+ widget_class->focus = gtk_widget_focus_child;
widget_class->mnemonic_activate = gtk_entry_mnemonic_activate;
quark_entry_completion = g_quark_from_static_string ("gtk-entry-completion-key");
gobject_class->set_property = gtk_expander_set_property;
gobject_class->get_property = gtk_expander_get_property;
- widget_class->destroy = gtk_expander_destroy;
- widget_class->size_allocate = gtk_expander_size_allocate;
- widget_class->focus = gtk_expander_focus;
- widget_class->measure = gtk_expander_measure;
+ widget_class->destroy = gtk_expander_destroy;
+ widget_class->size_allocate = gtk_expander_size_allocate;
+ widget_class->focus = gtk_expander_focus;
+ widget_class->grab_focus = gtk_widget_grab_focus_self;
+ widget_class->measure = gtk_expander_measure;
- container_class->add = gtk_expander_add;
+ container_class->add = gtk_expander_add;
container_class->remove = gtk_expander_remove;
container_class->forall = gtk_expander_forall;
#include "gtkstylecontextprivate.h"
#include "gtkbitmaskprivate.h"
#include "gtkeventcontroller.h"
+#include "gtkwidgetprivate.h"
/**
* SECTION:gtkfilechooserbutton
widget_class->root = gtk_file_chooser_button_root;
widget_class->mnemonic_activate = gtk_file_chooser_button_mnemonic_activate;
widget_class->state_flags_changed = gtk_file_chooser_button_state_flags_changed;
+ widget_class->grab_focus = gtk_widget_grab_focus_child;
+ widget_class->focus = gtk_widget_focus_child;
/**
* GtkFileChooserButton::file-set:
widget_class->unroot = gtk_file_chooser_widget_unroot;
widget_class->css_changed = gtk_file_chooser_widget_css_changed;
widget_class->size_allocate = gtk_file_chooser_widget_size_allocate;
+ widget_class->grab_focus = gtk_widget_grab_focus_child;
+ widget_class->focus = gtk_widget_focus_child;
/*
* Signals
#include "gtkprivate.h"
#include "gtkseparator.h"
#include "gtkstylecontext.h"
+#include "gtkwidgetprivate.h"
#include <string.h>
#include <stdio.h>
gobject_class->set_property = gtk_font_button_set_property;
gobject_class->get_property = gtk_font_button_get_property;
+ widget_class->grab_focus = gtk_widget_grab_focus_child;
+ widget_class->focus = gtk_widget_focus_child;
+
klass->font_set = NULL;
_gtk_font_chooser_install_properties (gobject_class);
#include "gtktextview.h"
#include "gtktreeselection.h"
#include "gtktreeview.h"
-#include "gtkwidget.h"
+#include "gtkwidgetprivate.h"
#include "gtksettings.h"
#include "gtkdialog.h"
#include "gtkradiobutton.h"
widget_class->unroot = gtk_font_chooser_widget_unroot;
widget_class->map = gtk_font_chooser_widget_map;
widget_class->unmap = gtk_font_chooser_widget_unmap;
+ widget_class->focus = gtk_widget_focus_child;
+ widget_class->grab_focus = gtk_widget_grab_focus_child;
gobject_class->finalize = gtk_font_chooser_widget_finalize;
gobject_class->dispose = gtk_font_chooser_widget_dispose;
#include "gtkrender.h"
#include "gtksnapshot.h"
#include "gtknative.h"
+#include "gtkwidgetprivate.h"
#include <epoxy/gl.h>
widget_class->unrealize = gtk_gl_area_unrealize;
widget_class->size_allocate = gtk_gl_area_size_allocate;
widget_class->snapshot = gtk_gl_area_snapshot;
+ widget_class->focus = gtk_widget_focus_none;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_DRAWING_AREA);
widget_class->measure = gtk_icon_view_measure;
widget_class->size_allocate = gtk_icon_view_size_allocate;
widget_class->snapshot = gtk_icon_view_snapshot;
+ widget_class->focus = gtk_widget_focus_self;
+ widget_class->grab_focus = gtk_widget_grab_focus_self;
container_class->remove = gtk_icon_view_remove;
container_class->forall = gtk_icon_view_forall;
widget_class->measure = gtk_image_measure;
widget_class->unrealize = gtk_image_unrealize;
widget_class->css_changed = gtk_image_css_changed;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
+ widget_class->focus = gtk_widget_focus_none;
image_props[PROP_PAINTABLE] =
g_param_spec_object ("paintable",
oclass->finalize = gtk_level_bar_finalize;
wclass->direction_changed = gtk_level_bar_direction_changed;
+ wclass->grab_focus = gtk_widget_grab_focus_none;
+ wclass->focus = gtk_widget_focus_none;
g_object_class_override_property (oclass, PROP_ORIENTATION, "orientation");
object_class->finalize = gtk_list_box_finalize;
widget_class->show = gtk_list_box_show;
widget_class->focus = gtk_list_box_focus;
+ widget_class->grab_focus = gtk_widget_grab_focus_self;
widget_class->compute_expand = gtk_list_box_compute_expand;
widget_class->get_request_mode = gtk_list_box_get_request_mode;
widget_class->measure = gtk_list_box_measure;
g_return_val_if_fail (box != NULL, FALSE);
- if (!GTK_WIDGET_CLASS (gtk_list_box_row_parent_class)->grab_focus (widget))
- return FALSE;
+ gtk_widget_grab_focus_self (widget);
if (box->cursor_row != row)
gtk_list_box_update_cursor (box, row, FALSE);
#include "gtkbutton.h"
#include "gtkintl.h"
#include "gtklabel.h"
+#include "gtkwidgetprivate.h"
/**
* SECTION:gtkmediacontrols
widget_class->measure = gtk_media_controls_measure;
widget_class->size_allocate = gtk_media_controls_size_allocate;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
+ widget_class->focus = gtk_widget_focus_child;
gobject_class->dispose = gtk_media_controls_dispose;
gobject_class->get_property = gtk_media_controls_get_property;
if (self->popover && gtk_widget_get_visible (self->popover))
return gtk_widget_child_focus (self->popover, direction);
else
- return GTK_WIDGET_CLASS (gtk_menu_button_parent_class)->focus (widget, direction);
+ return gtk_widget_child_focus (self->button, direction);
+}
+
+static gboolean
+gtk_menu_button_grab_focus (GtkWidget *widget)
+{
+ GtkMenuButton *self = GTK_MENU_BUTTON (widget);
+
+ return gtk_widget_grab_focus (self->button);
}
static void
widget_class->size_allocate = gtk_menu_button_size_allocate;
widget_class->state_flags_changed = gtk_menu_button_state_flags_changed;
widget_class->focus = gtk_menu_button_focus;
+ widget_class->grab_focus = gtk_menu_button_grab_focus;
/**
* GtkMenuButton:menu-model:
GtkTextDirection previous_direction);
static gboolean gtk_notebook_focus (GtkWidget *widget,
GtkDirectionType direction);
+static gboolean gtk_notebook_grab_focus (GtkWidget *widget);
/*** Drag and drop Methods ***/
static void gtk_notebook_dnd_finished_cb (GdkDrag *drag,
widget_class->state_flags_changed = gtk_notebook_state_flags_changed;
widget_class->direction_changed = gtk_notebook_direction_changed;
widget_class->focus = gtk_notebook_focus;
+ widget_class->grab_focus = gtk_notebook_grab_focus;
widget_class->compute_expand = gtk_notebook_compute_expand;
container_class->add = gtk_notebook_add;
return FALSE;
}
+static gboolean
+gtk_notebook_grab_focus (GtkWidget *widget)
+{
+ GtkNotebook *notebook = GTK_NOTEBOOK (widget);
+
+ if (notebook->show_tabs)
+ return gtk_widget_grab_focus_self (widget);
+ else
+ return gtk_widget_grab_focus_child (widget);
+}
+
static void
gtk_notebook_set_focus_child (GtkContainer *container,
GtkWidget *child)
#include "gtkimage.h"
#include "gtkintl.h"
#include "gtkprivate.h"
+#include "gtkwidgetprivate.h"
#include "gtkmarshalers.h"
#include "gtkstylecontext.h"
#include "gtkeventcontrollerkey.h"
return atk_obj;
}
-static gboolean
-gtk_password_entry_grab_focus (GtkWidget *widget)
-{
- GtkPasswordEntry *entry = GTK_PASSWORD_ENTRY (widget);
- GtkPasswordEntryPrivate *priv = gtk_password_entry_get_instance_private (entry);
-
- return gtk_widget_grab_focus (priv->entry);
-}
-
static gboolean
gtk_password_entry_mnemonic_activate (GtkWidget *widget,
gboolean group_cycling)
widget_class->measure = gtk_password_entry_measure;
widget_class->size_allocate = gtk_password_entry_size_allocate;
widget_class->get_accessible = gtk_password_entry_get_accessible;
- widget_class->grab_focus = gtk_password_entry_grab_focus;
+ widget_class->grab_focus = gtk_widget_grab_focus_child;
+ widget_class->focus = gtk_widget_focus_child;
widget_class->mnemonic_activate = gtk_password_entry_mnemonic_activate;
+
props[PROP_PLACEHOLDER_TEXT] =
g_param_spec_string ("placeholder-text",
P_("Placeholder text"),
widget_class->snapshot = gtk_picture_snapshot;
widget_class->get_request_mode = gtk_picture_get_request_mode;
widget_class->measure = gtk_picture_measure;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
+ widget_class->focus = gtk_widget_focus_none;
/**
* GtkPicture:paintable:
gobject_class->finalize = gtk_progress_bar_finalize;
widget_class->direction_changed = gtk_progress_bar_direction_changed;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
+ widget_class->focus = gtk_widget_focus_none;
g_object_class_override_property (gobject_class, PROP_ORIENTATION, "orientation");
#include "gtkstylecontextprivate.h"
#include "gtkstylepropertyprivate.h"
#include "gtktypebuiltins.h"
+#include "gtkwidgetprivate.h"
#include "a11y/gtkscaleaccessible.h"
widget_class->snapshot = gtk_scale_snapshot;
widget_class->size_allocate = gtk_scale_size_allocate;
widget_class->measure = gtk_scale_measure;
+ widget_class->grab_focus = gtk_widget_grab_focus_self;
+ widget_class->focus = gtk_widget_focus_self;
range_class->get_range_border = gtk_scale_get_range_border;
range_class->value_changed = gtk_scale_value_changed;
#include "gtkorientable.h"
#include "gtkorientableprivate.h"
#include "gtkprivate.h"
+#include "gtkwidgetprivate.h"
#include "gtkboxlayout.h"
#include "a11y/gtkscrollbaraccessible.h"
object_class->set_property = gtk_scrollbar_set_property;
object_class->dispose = gtk_scrollbar_dispose;
+ widget_class->focus = gtk_widget_focus_none;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
+
props[PROP_ADJUSTMENT] =
g_param_spec_object ("adjustment",
P_("Adjustment"),
widget_class->snapshot = gtk_scrolled_window_snapshot;
widget_class->size_allocate = gtk_scrolled_window_size_allocate;
widget_class->focus = gtk_scrolled_window_focus;
+ widget_class->grab_focus = gtk_widget_grab_focus_self;
widget_class->measure = gtk_scrolled_window_measure;
widget_class->map = gtk_scrolled_window_map;
widget_class->unmap = gtk_scrolled_window_unmap;
#include "gtkorientableprivate.h"
#include "gtkintl.h"
#include "gtkprivate.h"
+#include "gtkwidgetprivate.h"
/**
* SECTION:gtkseparator
object_class->set_property = gtk_separator_set_property;
object_class->get_property = gtk_separator_get_property;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
+ widget_class->focus = gtk_widget_focus_none;
+
g_object_class_override_property (object_class, PROP_ORIENTATION, "orientation");
gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_SEPARATOR);
#include "gtkboxlayout.h"
#include "gtklabel.h"
#include "gtkframe.h"
+#include "gtkwidgetprivate.h"
#include "gtkintl.h"
/**
object_class->get_property = gtk_shortcut_label_get_property;
object_class->set_property = gtk_shortcut_label_set_property;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
+ widget_class->focus = gtk_widget_focus_none;
+
/**
* GtkShortcutLabel:accelerator:
*
#include "gtkintl.h"
#include "gtklabel.h"
#include "gtkprivate.h"
+#include "gtkwidgetprivate.h"
#include "gtkshortcutlabel.h"
#include "gtkshortcutswindowprivate.h"
#include "gtksizegroup.h"
widget_class->measure = gtk_shortcuts_shortcut_measure;
widget_class->snapshot = gtk_shortcuts_shortcut_snapshot;
widget_class->size_allocate = gtk_shortcuts_shortcut_size_allocate;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
+ widget_class->focus = gtk_widget_focus_none;
/**
* GtkShortcutsShortcut:accelerator:
widget_class->grab_notify = gtk_spin_button_grab_notify;
widget_class->state_flags_changed = gtk_spin_button_state_flags_changed;
widget_class->grab_focus = gtk_spin_button_grab_focus;
+ widget_class->focus = gtk_widget_focus_child;
widget_class->mnemonic_activate = gtk_spin_button_mnemonic_activate;
class->input = NULL;
widget_class->snapshot = gtk_spinner_snapshot;
widget_class->measure = gtk_spinner_measure;
widget_class->css_changed = gtk_spinner_css_changed;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
+ widget_class->focus = gtk_widget_focus_none;
/* GtkSpinner:spinning:
*
#include "gtkselectionmodel.h"
#include "gtkstack.h"
#include "gtkprivate.h"
+#include "gtkwidgetprivate.h"
#include "gtkintl.h"
/**
object_class->set_property = gtk_stack_sidebar_set_property;
object_class->get_property = gtk_stack_sidebar_get_property;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
+ widget_class->focus = gtk_widget_focus_child;
+
obj_properties[PROP_STACK] =
g_param_spec_object (I_("stack"), P_("Stack"),
P_("Associated stack for this GtkStackSidebar"),
object_class->dispose = gtk_stack_switcher_dispose;
object_class->finalize = gtk_stack_switcher_finalize;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
+ widget_class->focus = gtk_widget_focus_child;
+
g_object_class_install_property (object_class,
PROP_STACK,
g_param_spec_object ("stack",
#include "gtkintl.h"
#include "gtkorientable.h"
#include "gtktypebuiltins.h"
+#include "gtkwidgetprivate.h"
#include "a11y/gtkstatusbaraccessible.h"
/**
object_class->dispose = gtk_statusbar_dispose;
widget_class->destroy = gtk_statusbar_destroy;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
+ widget_class->focus = gtk_widget_focus_child;
class->text_pushed = gtk_statusbar_update;
class->text_popped = gtk_statusbar_update;
g_object_class_install_properties (gobject_class, LAST_PROP, switch_props);
+ widget_class->grab_focus = gtk_widget_grab_focus_self;
+ widget_class->focus = gtk_widget_focus_self;
+
klass->activate = gtk_switch_activate;
klass->state_set = state_set;
gpointer user_data);
static void gtk_text_view_snapshot (GtkWidget *widget,
GtkSnapshot *snapshot);
-static gboolean gtk_text_view_focus (GtkWidget *widget,
- GtkDirectionType direction);
static void gtk_text_view_select_all (GtkWidget *widget,
gboolean select);
static gboolean get_middle_click_paste (GtkTextView *text_view);
widget_class->measure = gtk_text_view_measure;
widget_class->size_allocate = gtk_text_view_size_allocate;
widget_class->snapshot = gtk_text_view_snapshot;
- widget_class->focus = gtk_text_view_focus;
+ widget_class->grab_focus = gtk_widget_grab_focus_self;
+ widget_class->focus = gtk_widget_focus_all;
container_class->add = gtk_text_view_add;
container_class->remove = gtk_text_view_remove;
}
}
-static gboolean
-gtk_text_view_focus (GtkWidget *widget,
- GtkDirectionType direction)
-{
- gboolean result;
-
- if (!gtk_widget_is_focus (widget) &&
- gtk_widget_get_focus_child (widget) == NULL)
- {
- if (gtk_widget_get_can_focus (widget))
- {
- gtk_widget_grab_focus (widget);
- return TRUE;
- }
-
- return FALSE;
- }
- else
- {
- gboolean can_focus;
- /*
- * Unset CAN_FOCUS flag so that gtk_container_focus() allows
- * children to get the focus
- */
- can_focus = gtk_widget_get_can_focus (widget);
- gtk_widget_set_can_focus (widget, FALSE);
- result = GTK_WIDGET_CLASS (gtk_text_view_parent_class)->focus (widget, direction);
- gtk_widget_set_can_focus (widget, can_focus);
-
- return result;
- }
-}
-
/*
* Container
*/
GtkTreeView *tree_view = GTK_TREE_VIEW (widget);
GtkWidget *focus_child;
- if (!gtk_widget_is_sensitive (widget) || !gtk_widget_get_can_focus (widget))
- return FALSE;
-
focus_child = gtk_widget_get_focus_child (widget);
gtk_tree_view_stop_editing (GTK_TREE_VIEW (widget), FALSE);
static gboolean
gtk_tree_view_grab_focus (GtkWidget *widget)
{
- if (!GTK_WIDGET_CLASS (gtk_tree_view_parent_class)->grab_focus (widget))
+ if (!gtk_widget_grab_focus_self (widget))
return FALSE;
gtk_tree_view_focus_to_cursor (GTK_TREE_VIEW (widget));
#include "gtknative.h"
#include "gtkpicture.h"
#include "gtkrevealer.h"
+#include "gtkwidgetprivate.h"
/**
* SECTION:gtkvideo
widget_class->unrealize = gtk_video_unrealize;
widget_class->map = gtk_video_map;
widget_class->unmap = gtk_video_unmap;
+ widget_class->grab_focus = gtk_widget_grab_focus_none;
+ widget_class->focus = gtk_widget_focus_child;
gobject_class->dispose = gtk_video_dispose;
gobject_class->get_property = gtk_video_get_property;